Skip to main content
Version: 2.0

Long Term Planning

For twenty years, I’ve seen engineering teams crippled not by lack of a plan, but by the illusion of a perfect one. We obsess over detailed roadmaps stretching 6, 9, even 12 months out, meticulously estimating story points and dependencies. Then reality hits – a market shift, a key technology changes, a brilliant idea emerges – and the beautifully crafted plan becomes a source of frustration and wasted effort.

I remember one project vividly. We were building a mobile app, and spent a month detailing every feature for the next six months. Three months in, Apple announced a major iOS update that fundamentally changed how we needed to approach several key features. Our meticulously crafted plan was instantly obsolete. We spent weeks scrambling to rewrite code, effectively throwing away a month of work. The team was demoralized, and the launch was delayed.

As engineering leaders, we need to shift our thinking. Long-term planning isn’t about predicting the future, it’s about preparing for it. And a flexible plan – one that acknowledges uncertainty – is far more valuable than no plan at all.

The Myth of the Accurate Long-Range Forecast

Let’s be honest: predicting six months out in the software world is largely an exercise in hopeful fiction. Too many variables are at play. Trying to nail down specifics that far in advance breeds rigidity and stifles innovation. Teams start building to the plan instead of responding to changing needs.

The lesson? Detailed long-range forecasts are often more harmful than helpful. They create a false sense of security and make it harder to pivot when necessary. This approach complements existing Agile and iterative development methodologies; it’s not about abandoning planning altogether, but about shifting the focus.

Shifting the Focus: From "What" to "Why" and "How"

So, what should long-term planning look like? Here’s how I approach it now:

  • Focus on Outcomes, Not Features: Instead of planning what we’ll build, we focus on why we're building it – the business goals and user needs we’re trying to address. This gives us flexibility. If the specific feature we envisioned doesn’t make sense anymore, we can still achieve the desired outcome with a different approach. For example, instead of planning "Feature X will be released in Sprint 5," we planned "Increase user engagement by 15% in Q2." This allowed us to pivot to Feature Y when we discovered it would be more effective.
  • Embrace Timeboxed Explorations: This is a game-changer. Before committing to a large project, dedicate a short, timeboxed period (a week or two) for "spike" or "discovery" work – often referred to as “spike solutions” by engineers. This isn't full-blown development; it’s about exploring the feasibility of a proposed solution. Can it be done with the technology we have? What are the biggest technical risks? What assumptions are we making? These explorations significantly de-risk larger initiatives.
  • Prioritize Themes, Not Tasks: Think in terms of larger themes or initiatives that span multiple sprints, rather than breaking everything down into granular tasks months in advance. This allows for adjustments and reprioritization based on evolving information.
  • Separate Specification from Implementation: Specs should outline business requirements – what problems we’re solving for users and the business. They should not dictate how those requirements are implemented. Overly prescriptive specs stifle creativity and lead to less effective solutions. Empower your engineers to own the technical solutions. Let them explore different approaches and innovate.

Tools and the Solo Developer

I’ve seen a lot of complex project management tools used (and often misused) in engineering. But for long-term planning, you don’t need a massive, feature-rich platform. Especially if you're a solo developer or working with a small team.

To support this approach, you don't need a heavy-weight project management system. Tools like Toggl Plan (with its free plan) offer a good balance of features for managing tasks, milestones, and timelines without overwhelming you. Other lightweight options, such as Asana or Trello, can also be effective. The free options offered by many planning tools allow you to get started without a financial commitment. It's about visibility, not control. You want to see what's coming up, but you need the flexibility to adapt.

Don’t let tool configuration overshadow the planning process.

The Imperfect Plan is Progress

Remember, the goal of long-term planning isn’t to create a perfect, unchanging roadmap. It's to create a shared understanding of where we’re headed, identify potential risks, and prepare for the inevitable changes that will occur.

A flexible plan – one that's high-level, flexible, and acknowledges uncertainty – is far more valuable than no plan at all. It provides a framework for decision-making, allows for adaptation, and ultimately increases our chances of success.

I understand that many engineering leaders face pressure from upper management to deliver detailed long-term plans. When explaining this approach, consider using phrases like, “We’re focusing on adaptable planning to respond quickly to market changes,” or “We’re prioritizing outcomes over features to maximize value.”

Don’t strive for perfection; strive for progress. And embrace the fact that the best plans are often the ones that evolve along the way.

This week, review your current long-term roadmap and identify one area where you can shift the focus from features to outcomes. By embracing this approach, you’ll build a more resilient and successful engineering team.